import time
from datetime import datetime

import pytz


class TimeUtils:
    @staticmethod
    def is_over_3_minutes(timestamp):
        current_time = int(time.time() * 1000)  # 获取当前时间戳（毫秒级）
        timestamp = int(timestamp)  # 将输入时间戳转换为整数
        time_difference = current_time - timestamp  # 计算时间差（毫秒）
        # 3分钟转换为毫秒为3*60*1000=180000
        return time_difference > 180000

    @staticmethod
    def to_utc_ms(time_str):
        # 假设原时间是北京时间（需要根据实际情况调整时区）
        local_tz = pytz.timezone('Asia/Shanghai')
        # 解析时间字符串为 datetime 对象
        local_time = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S")
        # 转换为带时区的 datetime 对象
        local_time_with_tz = local_tz.localize(local_time)
        # 转换为 UTC 时间
        utc_time = local_time_with_tz.astimezone(pytz.utc)
        # 转换为 UTC 毫秒时间戳
        return int(utc_time.timestamp() * 1000)